﻿/*
 * SharpDevelop Tarafından Oluşturulmuşdur.
 * Kullanıcı: İsmail
 * Tarih: 23.05.2009
 * Zaman: 13:37
 * 
 * Bu şablonu değiştirmek için Araçlar | Seçenekler | Kodlama | Standart Başlıkları Düzenle 'yi kullanın.
 */
 
 // Kaynaklar:
 // 1. http://www.codeproject.com/KB/cs/combobox.aspx
 
using System;
using System.Drawing;
using System.Windows.Forms;

using System.Data.SqlClient; // SQL Server'a bağlanmak için
using System.Data;

namespace Ders_programi
{
	/// <summary>
	/// Description of frmDersEkle.
	/// </summary>
	public partial class frmDersEkle : Form
	{
		public SqlConnection conn;
		private DataViewManager dviewmanager;
				
		public frmDersEkle(SqlConnection conn)
		{			
			this.conn = conn;
			
			InitializeComponent();
		}
		
		void FrmDersEkleLoad(object sender, EventArgs e)
		{
			Ogr_Gor_Getir();
			
			Bolum_Getir();
			
			if( cmbBolum.Items.Count == 0 || cmbOgrGor.Items.Count == 0 || cmbSinif.Items.Count == 0)
			{
				btnEkle.Enabled = false;
			}
		}
		
		void BtnEkleClick(object sender, EventArgs e)
		{
			string sqlKomut = "INSERT INTO Dersler (ad, sinif, bolum_id, ogr_grv_id) VALUES (@ad, @sinif, @bolum_id, @ogr_grv_id)";
			
			conn.Open();
			
			try
			{
				 SqlCommand comm = new SqlCommand(sqlKomut, conn);
				 
				 comm.Parameters.AddWithValue("@ad", txtAdi.Text.Trim());
				 comm.Parameters.AddWithValue("@sinif", cmbSinif.SelectedItem.ToString());
				 comm.Parameters.AddWithValue("@bolum_id", cmbBolum.SelectedValue.ToString().Trim());
				 comm.Parameters.AddWithValue("@ogr_grv_id", cmbOgrGor.SelectedValue.ToString().Trim());
				 
				 comm.ExecuteNonQuery();
			 
				 comm.Parameters.Clear();
				 comm.CommandText = "SELECT @@IDENTITY";
						 
 				// En son eklenen id'yi alalım
 				int insertID = Convert.ToInt32( comm.ExecuteScalar() );
 
 				comm.Dispose();
 				comm = null;
 				
 				MessageBox.Show(insertID + " id'li ders eklendi! ");
			}			
			catch(Exception ex)
			{
				throw new Exception(ex.ToString(), ex);
			}
			finally
			{
				conn.Close();
			}
		}
		
		void Ogr_Gor_Getir()
		{
			// Öğretim Görevlileri getirilir
			string sqlKomut = "Select * from Ogretim_Gorevlileri";
			
			try
			{
				conn.Open();
			
				SqlDataAdapter adp = new SqlDataAdapter( sqlKomut, conn);
			
				DataSet dset = new DataSet();
			
				adp.TableMappings.Add("Table", "Ogretim_Gorevlileri");
				
				adp.Fill(dset);	

				this.dviewmanager=dset.DefaultViewManager;
			
				this.cmbOgrGor.DataSource=this.dviewmanager;
	
				this.cmbOgrGor.ValueMember = "Ogretim_Gorevlileri.id";
				
				this.cmbOgrGor.DisplayMember="Ogretim_Gorevlileri.ad";
			}
			catch(Exception ex)
			{
				throw new Exception(ex.ToString(), ex);
			}
			finally
			{
				conn.Close();
			}
		}
		
		void Bolum_Getir()
		{
			// Bölümler getirilir
			string sqlKomut = "Select * from Bolumler";
			
			try
			{
				conn.Open();
			
				SqlDataAdapter adp = new SqlDataAdapter( sqlKomut, conn);
			
				DataSet dset = new DataSet();
			
				adp.TableMappings.Add("Table", "Bolumler");
						
				adp.Fill(dset);

				this.dviewmanager=dset.DefaultViewManager;
			
				this.cmbBolum.DataSource=this.dviewmanager;

				this.cmbBolum.ValueMember="Bolumler.id";
				
				this.cmbBolum.DisplayMember="Bolumler.ad";
			}
			catch(Exception ex)
			{
				throw new Exception(ex.ToString(), ex);
			}
			finally
			{
				conn.Close();
			}
		}
	}
}
